package com.autumn.annotations.leetcode.three;

import java.util.ArrayDeque;
import java.util.Queue;

/**
 * 项目名称：com.autumn.xa
 * 类 名 称：Stact1
 * 类 描 述：TODO
 * 创建时间：2021/9/17 7:19 下午
 * 创 建 人：yeachrom
 */
public class Stact1 {

    private static Queue<String> q1 = new ArrayDeque<>();
    private static Queue<String> q2 = new ArrayDeque<>();

    //获取第n个数据
    public static String get(int n){
        String result = "";
        for (int i = 0; i < n; i++) {
            if (i == n -1){
                result = q1.poll();
            } else {
                q2.add(q1.poll());
            }
        }
        clear();
        return result;
    }

    // 获取顶端数据
    public static String get(){
        int size = q1.size();
        for (int i = 0; i < size - 1; i++) {
            q2.add(q1.poll());
        }
        String result = q1.poll();
        clear();
        return result;
    }

    // 将队列q2的值全导入到q1
    public static void clear(){
        q1.addAll(q2);
//        q1 = q2;
    }

    public static void add(String in) {
        q1.add(in);
    }

    public static void main(String[] args) {

        Stact1 s = new Stact1();
        s.add("a");
        s.add("b");
        s.add("c");
        s.add("d");
        s.add("e");

        System.out.println(s.get());
        System.out.println(s.get());
        System.out.println(s.get());
        System.out.println(s.get());
        System.out.println(s.get());
    }
}
